/*

   Copyright 2019 Esri

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       https://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

   See the License for the specific language governing permissions and
   limitations under the License.

*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Input;
using System.Threading.Tasks;
using ArcGIS.Core.CIM;
using ArcGIS.Core.Data;
using ArcGIS.Core.Geometry;
using ArcGIS.Desktop.Catalog;
using ArcGIS.Desktop.Core;
using ArcGIS.Desktop.Editing;
using ArcGIS.Desktop.Extensions;
using ArcGIS.Desktop.Framework;
using ArcGIS.Desktop.Framework.Contracts;
using ArcGIS.Desktop.Framework.Dialogs;
using ArcGIS.Desktop.Framework.Threading.Tasks;
using ArcGIS.Desktop.Mapping;

namespace CustomCatalog
{
	/// <summary>
	/// This sample demonstrates how you can create a custom dockpane to resemble ArcGIS Pro's Catalog dockpane.  
	/// A Listbox control is styled using the "Esri_ListBoxPanelIndicator" style to create the Project and Portal Tab headers in the dockpane.
	/// An ArcGIS Pro custom control called the "TabIndicator" is used to create a collection of images.
	/// These images are presented in a horizontal view at the top of the dockpane with a custom indicator embellishment.
	/// You can click on the images to view the options for that choice.
	/// </summary>
	/// <remarks>
	/// 1. In Visual Studio click the Build menu. Then select Build Solution.  
	/// 1. Click Start button to open ArcGIS Pro.
	/// 1. ArcGIS Pro will open. 
	/// 1. Open any project. 
	/// 1. Click the Add-in tab
	/// 1. In the Add-in tab, click the "Custom Catalog" button.
	/// 1. A Custom Catalog dockpane will display. This dockpane has two tab headers, Project and Portal tabs.
	/// ![UI](screenshots/screen1.png)
	/// 1. Click the Project tab. Notice the Tabindicator control that is displayed. Scroll through the 3 icons to see the display change.
	/// ![UI](screenshots/screen2.png)
	/// </remarks>
	internal class Module1 : Module
    {
        private static Module1 _this = null;

        /// <summary>
        /// Retrieve the singleton instance to this module here
        /// </summary>
        public static Module1 Current
        {
            get
            {
                return _this ?? (_this = (Module1)FrameworkApplication.FindModule("CustomCatalog_Module"));
            }
        }

        #region Overrides
        /// <summary>
        /// Called by Framework when ArcGIS Pro is closing
        /// </summary>
        /// <returns>False to prevent Pro from closing, otherwise True</returns>
        protected override bool CanUnload()
        {
            //TODO - add your business logic
            //return false to ~cancel~ Application close
            return true;
        }

        #endregion Overrides

    }
}
